/*
 * @(#)DocumentContent.java
 * Date 2013-04-08
 * Version 1.0
 * Author Jim Horner
 * Copyright (c)2012
 */


package us.hornerscorners.lamppost.model.document;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

import us.hornerscorners.lamppost.model.common.AbstractPersistableModel;
import us.hornerscorners.lamppost.model.common.IGlobalIdentifiable;
import us.hornerscorners.lamppost.model.common.InstanceIdentifier;
import us.hornerscorners.lamppost.model.common.PersistableModelType;


/**
 *
 * @author jim
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class DocumentContent extends AbstractPersistableModel
        implements IGlobalIdentifiable {

    /** Field description */
    private byte[] content;

    /** Field description */
    private String hash;

    /** Field description */
    private String mimeType;

    /** Field description */
    private String repositoryId;

    /** Field description */
    private String size;

    /** Field description */
    private InstanceIdentifier uniqueId;

    /**
     * Constructs ...
     *
     */
    public DocumentContent() {

        super(PersistableModelType.DocumentContent);
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public byte[] getContent() {
        return content;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public String getHash() {
        return hash;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public String getMimeType() {
        return mimeType;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public String getRepositoryId() {
        return repositoryId;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    public String getSize() {
        return size;
    }

    /**
     * Method description
     *
     *
     * @return
     */
    @Override
    public InstanceIdentifier getUniqueId() {
        return uniqueId;
    }

    /**
     * Method description
     *
     *
     * @param content
     */
    public void setContent(byte[] content) {
        this.content = content;
    }

    /**
     * Method description
     *
     *
     * @param hash
     */
    public void setHash(String hash) {
        this.hash = hash;
    }

    /**
     * Method description
     *
     *
     * @param mimeType
     */
    public void setMimeType(String mimeType) {
        this.mimeType = mimeType;
    }

    /**
     * Method description
     *
     *
     * @param repositoryId
     */
    public void setRepositoryId(String repositoryId) {
        this.repositoryId = repositoryId;
    }

    /**
     * Method description
     *
     *
     * @param size
     */
    public void setSize(String size) {
        this.size = size;
    }

    /**
     * Method description
     *
     *
     * @param uniqueId
     */
    public void setUniqueId(InstanceIdentifier uniqueId) {
        this.uniqueId = uniqueId;
    }
}
